package com.ruoyi.system.mapper;

import java.util.List;
import java.util.Map;

import com.ruoyi.system.domain.SysCgImportMain;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * SysCgImportMainMapper接口
 * 
 * @author SYF
 * @date 2025-05-08
 */
public interface SysCgImportMainMapper 
{
    /**
     * 查询SysCgImportMain
     * 
     * @param updateTime SysCgImportMain主键
     * @return SysCgImportMain
     */

    /**
     * 查询SysCgImportMain列表
     * 
     * @param sysCgImportMain SysCgImportMain
     * @return SysCgImportMain集合
     */
    public List<SysCgImportMain> selectSysCgImportMainList(SysCgImportMain sysCgImportMain);

    public List<SysCgImportMain> selectSysCgImportMainUnLinkList(SysCgImportMain sysCgImportMain);

    /**
     * 新增SysCgImportMain
     * 
     * @param sysCgImportMain SysCgImportMain
     * @return 结果
     */
    public int insertSysCgImportMain(SysCgImportMain sysCgImportMain);

    /**
     * 修改SysCgImportMain
     * 
     * @param sysCgImportMain SysCgImportMain
     * @return 结果
     */
    public int updateSysCgImportMain(SysCgImportMain sysCgImportMain);

    public List<Map<String,Object>> selectDepts(@Param("year") String year);

    public List<Map<String,Object>> selectSales(@Param("year") String year);

    public List<Map<String,Object>> selectTypes(@Param("year") String year);

    public List<SysCgImportMain> selectCgImportMainList(SysCgImportMain sysCgImportMain);

    public List<Map<String,Object>> selectSpecs(@Param("startDate") String startDate,@Param("endDate") String endDate);

    public List<Map<String,Object>> selectCustomers(@Param("startDate") String startDate,@Param("endDate") String endDate);

    public List<Map<String,Object>> selectUnSupplyList();

    public List<Map<String,Object>> selectResampleList();

    public List<Map<String,Object>> selectUnfulfilledList(@Param("year") String year);

    public List<Map<String,Object>> selectInventoryList(@Param("year") String year);

    public List<Map<String,Object>> selectInventoryListNew();

    public List<Map<String,Object>> selectInventoryDetail(@Param("year") String year);

    public Map<String,Object> selectLatestDate();

    @Select("${sql}")
    public List<Map<String,Object>> excuteQuery(@Param("sql") String sql);
}
